7e086b115465ecb934242c2d9765a90a70b34b3c,src/main/java/org/geppetto/model/neuroml/modelInterpreterUtils/PopulateProjectionTypes.java,PopulateProjectionTypes,extractConnection,#Component#ArrayType#Variable#ArrayType#Variable#,88
Before Change
connection.setA(PointerUtility.getPointer(prePopulationVariable, prePopulationType, Integer.parseInt(preCell)));
if(preSegmentId != null)
{
VisualReference visualReference = ValuesFactory.eINSTANCE.createVisualReference();
connection.getA().setVisualReference(visualReference);
Variable targetVisualVariable = NeuroMLModelInterpreterUtils.getVisualVariable(preSegmentId);
visualReference.setVisualVariable(targetVisualVariable);
if(preFractionAlong != null)
{
visualReference.setFraction(Float.parseFloat(preFractionAlong));
}
}
}
if(postCell != null)
{
connection.setB(PointerUtility.getPointer(postPopulationVariable, postPopulationType, Integer.parseInt(postCell)));
if(postSegmentId != null)
{
VisualReference visualReference = ValuesFactory.eINSTANCE.createVisualReference();
connection.getB().setVisualReference(visualReference);
Variable targetVisualVariable = NeuroMLModelInterpreterUtils.getVisualVariable(postSegmentId);
visualReference.setVisualVariable(targetVisualVariable);
if(postFractionAlong != null)
{
visualReference.setFraction(Float.parseFloat(postFractionAlong));
}
}
}
After Change
String postCell = ModelInterpreterUtils.parseCellRefStringForCellNum(projectionChild.getAttributeValue("postCellId"));
String preSegmentId = null ;
if(projectionChild.hasAttribute("preSegmentId")){
preSegmentId=projectionChild.getAttributeValue("preSegmentId");
}
String preFractionAlong = null;
if(projectionChild.hasAttribute("preFractionAlong")){
preFractionAlong=projectionChild.getAttributeValue("preFractionAlong");
}
String postSegmentId = null;
if(projectionChild.hasAttribute("postSegmentId")){
postSegmentId=projectionChild.getAttributeValue("postSegmentId");
}
String postFractionAlong = null;
if(projectionChild.hasAttribute("postFractionAlong")){
postFractionAlong=projectionChild.getAttributeValue("postFractionAlong");
}
if(preCell != null)
{
connection.setA(PointerUtility.getPointer(prePopulationVariable, prePopulationType, Integer.parseInt(preCell)));
if(preSegmentId != null)
{
Cell neuroMLCell = this.populateTypes.getGeppettoCellTypesMap().get(prePopulationType.getArrayType());
connection.getA().setPoint(NeuroMLModelInterpreterUtils.getPointAtFractionAlong(neuroMLCell, preSegmentId,preFractionAlong));
}
}
if(postCell != null)
{
connection.setB(PointerUtility.getPointer(postPopulationVariable, postPopulationType, Integer.parseInt(postCell)));
if(postSegmentId != null)
{
Cell neuroMLCell = this.populateTypes.getGeppettoCellTypesMap().get(postPopulationType.getArrayType());
connection.getB().setPoint(NeuroMLModelInterpreterUtils.getPointAtFractionAlong(neuroMLCell,postSegmentId,postFractionAlong));
}
}
}